package com.zmj.sy.mom.srv.aps.service.scheduler.schedule;

import com.zmj.sy.mom.srv.aps.bean.entity.order.ApsWorkDetail;
import com.zmj.sy.mom.srv.aps.bean.entity.resource.Group;
import com.zmj.sy.mom.srv.aps.bean.entity.resource.Station;
import com.zmj.sy.mom.srv.aps.service.scheduler.order.DefaultPhase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List;

@Getter
@Setter
@ApiModel("订单工序排程信息")
public class DefaultPhaseSchedule {

    @ApiModelProperty("订单工序信息")
    private DefaultPhase phase;

    @ApiModelProperty("班次排程信息")
    private List<DefaultShiftSchedule> shiftSchedules;

    @ApiModelProperty("订单工序排程开始时间，该批次该道工序开始时间")
    private LocalDateTime planStartDateTime;

    @ApiModelProperty("订单工序排程结束时间，该批次该道工序结束时间")
    private LocalDateTime planEndDateTime;

    @ApiModelProperty("订单工序排程总执行时间")
    private BigDecimal totalCount;

    @ApiModelProperty("订单工序排程总执行时间")
    private Duration executeTime;

    @ApiModelProperty("订单工序排程对应工作组信息")
    private Group group;

    @ApiModelProperty("订单工序排程对应工位信息")
    private Station station;

    @ApiModelProperty("订单工序排程对应工单明细信息")
    private ApsWorkDetail workDetail;

    @ApiModelProperty("订单工序排程对应BOM排程信息")
    private DefaultBomSchedule bomSchedule;

}
